home *** CD-ROM | disk | FTP | other *** search
- /* IDCMPBlocker.c
- * Compiler-Optionen für SAS-C:
- * LC -b1 -cfistq -v -y -j100 -L IDCMPBlocker.c
- */
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include <clib/exec_protos.h>
- #include <clib/intuition_protos.h>
-
- extern struct IntuitionBase *IntuitionBase;
-
- /* Grafikdaten für den Mauszeiger */
- UWORD __chip WaitPointer[] = {
- 0x0000, 0x0000, 0x0400, 0x07C0, 0x0000, 0x07C0,
- 0x0100, 0x0380, 0x0000, 0x07E0, 0x07C0, 0x1FF8,
- 0x1FF0, 0x3FEC, 0x3FF8, 0x7FDE, 0x3FF8, 0x7FBE,
- 0x7FFC, 0xFF7F, 0x7EFC, 0xFFFF, 0x7FFC, 0xFFFF,
- 0x3FF8, 0x7FFE, 0x3FF8, 0x7FFE, 0x1FF0, 0x3FFC,
- 0x07C0, 0x1FF8, 0x0000, 0x07E0, 0x0000, 0x0000,
- };
-
- struct NewWindow BusyWindow = {
- 10,10,300,100, 0,1, CLOSEWINDOW,
- WINDOWCLOSE|ACTIVATE, NULL, NULL, NULL, NULL,
- NULL,5,5, -1,-1, WBENCHSCREEN
- };
-
- main()
- {
- struct Window *MyWindow;
- struct Requester busyreq;
-
- /* Library und Fenster öffnen */
- if(IntuitionBase =
- OpenLibrary("intuition.library",33L)) {
- if( MyWindow = OpenWindow( &BusyWindow ) ) {
- /* Requester initialisieren */
- InitRequester(&busyreq);
-
- if(Request(&busyreq, MyWindow)) {
- /* Requester aktiv. Mauszeiger modifizieren
- * und den Window-Titel ändern */
- SetPointer(MyWindow, WaitPointer,16,16,-8,0);
- SetWindowTitles(MyWindow,
- "Eingabe blockiert",(UBYTE *)~0);
-
- /* Kurze Zeit warten */
- (void)Delay( 5*50 );
-
- /* Mauszeiger wieder in Originalzustand und
- * Request beenden */
- ClearPointer(MyWindow);
- EndRequest(&busyreq, MyWindow);
- }
-
- SetWindowTitles(MyWindow,
- "Eingabe wieder möglich",(UBYTE *)~0);
-
- /* Auf CLOSEWINDOW-Message warten und Message
- * beantworten */
- WaitPort( MyWindow->UserPort );
- ReplyMsg(GetMsg(MyWindow->UserPort));
-
- CloseWindow(MyWindow);
- }
- CloseLibrary(IntuitionBase);
- }
- }
-
-